package com.lenovo.smarttraffic.database.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.lenovo.smarttraffic.database.dao.TitleStrBean;
import com.lenovo.smarttraffic.database.dao.NeedtitleBean;
import com.lenovo.smarttraffic.Test.web_load_sql.SqlBean;
import com.lenovo.smarttraffic.database.dao.UserInfoBean;
import com.lenovo.smarttraffic.bean.CollectionUserBean;
import com.lenovo.smarttraffic.zm_user_module.UserPeccancyBean;
import com.lenovo.smarttraffic.Test.hj_mitor.BeanYuZhi;

import com.lenovo.smarttraffic.database.dao.TitleStrBeanDao;
import com.lenovo.smarttraffic.database.dao.NeedtitleBeanDao;
import com.lenovo.smarttraffic.database.dao.SqlBeanDao;
import com.lenovo.smarttraffic.database.dao.UserInfoBeanDao;
import com.lenovo.smarttraffic.database.dao.CollectionUserBeanDao;
import com.lenovo.smarttraffic.database.dao.UserPeccancyBeanDao;
import com.lenovo.smarttraffic.database.dao.BeanYuZhiDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig titleStrBeanDaoConfig;
    private final DaoConfig needtitleBeanDaoConfig;
    private final DaoConfig sqlBeanDaoConfig;
    private final DaoConfig userInfoBeanDaoConfig;
    private final DaoConfig collectionUserBeanDaoConfig;
    private final DaoConfig userPeccancyBeanDaoConfig;
    private final DaoConfig beanYuZhiDaoConfig;

    private final TitleStrBeanDao titleStrBeanDao;
    private final NeedtitleBeanDao needtitleBeanDao;
    private final SqlBeanDao sqlBeanDao;
    private final UserInfoBeanDao userInfoBeanDao;
    private final CollectionUserBeanDao collectionUserBeanDao;
    private final UserPeccancyBeanDao userPeccancyBeanDao;
    private final BeanYuZhiDao beanYuZhiDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        titleStrBeanDaoConfig = daoConfigMap.get(TitleStrBeanDao.class).clone();
        titleStrBeanDaoConfig.initIdentityScope(type);

        needtitleBeanDaoConfig = daoConfigMap.get(NeedtitleBeanDao.class).clone();
        needtitleBeanDaoConfig.initIdentityScope(type);

        sqlBeanDaoConfig = daoConfigMap.get(SqlBeanDao.class).clone();
        sqlBeanDaoConfig.initIdentityScope(type);

        userInfoBeanDaoConfig = daoConfigMap.get(UserInfoBeanDao.class).clone();
        userInfoBeanDaoConfig.initIdentityScope(type);

        collectionUserBeanDaoConfig = daoConfigMap.get(CollectionUserBeanDao.class).clone();
        collectionUserBeanDaoConfig.initIdentityScope(type);

        userPeccancyBeanDaoConfig = daoConfigMap.get(UserPeccancyBeanDao.class).clone();
        userPeccancyBeanDaoConfig.initIdentityScope(type);

        beanYuZhiDaoConfig = daoConfigMap.get(BeanYuZhiDao.class).clone();
        beanYuZhiDaoConfig.initIdentityScope(type);

        titleStrBeanDao = new TitleStrBeanDao(titleStrBeanDaoConfig, this);
        needtitleBeanDao = new NeedtitleBeanDao(needtitleBeanDaoConfig, this);
        sqlBeanDao = new SqlBeanDao(sqlBeanDaoConfig, this);
        userInfoBeanDao = new UserInfoBeanDao(userInfoBeanDaoConfig, this);
        collectionUserBeanDao = new CollectionUserBeanDao(collectionUserBeanDaoConfig, this);
        userPeccancyBeanDao = new UserPeccancyBeanDao(userPeccancyBeanDaoConfig, this);
        beanYuZhiDao = new BeanYuZhiDao(beanYuZhiDaoConfig, this);

        registerDao(TitleStrBean.class, titleStrBeanDao);
        registerDao(NeedtitleBean.class, needtitleBeanDao);
        registerDao(SqlBean.class, sqlBeanDao);
        registerDao(UserInfoBean.class, userInfoBeanDao);
        registerDao(CollectionUserBean.class, collectionUserBeanDao);
        registerDao(UserPeccancyBean.class, userPeccancyBeanDao);
        registerDao(BeanYuZhi.class, beanYuZhiDao);
    }
    
    public void clear() {
        titleStrBeanDaoConfig.clearIdentityScope();
        needtitleBeanDaoConfig.clearIdentityScope();
        sqlBeanDaoConfig.clearIdentityScope();
        userInfoBeanDaoConfig.clearIdentityScope();
        collectionUserBeanDaoConfig.clearIdentityScope();
        userPeccancyBeanDaoConfig.clearIdentityScope();
        beanYuZhiDaoConfig.clearIdentityScope();
    }

    public TitleStrBeanDao getTitleStrBeanDao() {
        return titleStrBeanDao;
    }

    public NeedtitleBeanDao getNeedtitleBeanDao() {
        return needtitleBeanDao;
    }

    public SqlBeanDao getSqlBeanDao() {
        return sqlBeanDao;
    }

    public UserInfoBeanDao getUserInfoBeanDao() {
        return userInfoBeanDao;
    }

    public CollectionUserBeanDao getCollectionUserBeanDao() {
        return collectionUserBeanDao;
    }

    public UserPeccancyBeanDao getUserPeccancyBeanDao() {
        return userPeccancyBeanDao;
    }

    public BeanYuZhiDao getBeanYuZhiDao() {
        return beanYuZhiDao;
    }

}
